Identification of changed broadcast media items

ABSTRACT

Small changes in a broadcast version of a base media item can be identified by performing a multi-level comparison of digital fingerprints. A fingerprint of a base media item is compared to a fingerprint of a media broadcast to determine whether a media item embedded in a broadcast is likely, to a first level of certainty, to be the base media item. A second, more stringent, match between the fingerprint of the base media item and loosely matched items can be used to identify potentially-altered versions of the base media item. Potentially-altered versions can be compared against each other, and resulting matches are flagged as altered base media items, which can be fingerprinted and tested against broadcast fingerprints in the same manner as the base media item.

CROSS REFERENCE TO RELATED PATENTS

The present U.S. Utility Patent Application claims priority pursuant to35 U.S.C. §120 as a continuation of U.S. Utility application Ser. No.14/953,694, entitled, “Identification of changed broadcast media items,”filed Nov. 30, 2015, scheduled to issue as U.S. Pat. No. 9,461,759 onOct. 4, 2016, which is a continuation-in-part of U.S. Utilityapplication Ser. No. 14/690,953, entitled, “Broadcast SourceIdentification Based On Matching Broadcast Signal Fingerprints,” filedApr. 20, 2015, now U.S. Pat. No. 9,203,538, which is a continuation ofU.S. Utility application Ser. No. 14/157,778, entitled, “BroadcastSource Identification Based On Matching Broadcast Signal Fingerprints,”filed Jan. 17, 2014, now U.S. Pat. No. 9,014,615, which is acontinuation of U.S. Utility application Ser. No. 13/221,237, entitled,“Broadcast Source Identification Based On Matching Broadcast SignalFingerprints,” filed Aug. 30, 2011, now U.S. Pat. No. 8,639,178, all ofwhich are hereby incorporated herein by reference in their entirety andmade part of the present U.S. Utility Patent Application for allpurposes.

FIELD

The present disclosure relates generally to identifying broadcastcontent, and more particularly to identifying changed broadcast mediaitems.

BACKGROUND

Current technology allows a portion of a song, movie, or other unknowncontent items to be identified by comparing it against a database ofknown content. To facilitate identification of the unknown content, itis known to generate fingerprints of both the known and unknown contentitems, and compare the fingerprints. These fingerprints can includeaudio watermarks. In cases where fingerprints are used, the database ofknown content is sometimes used to store fingerprints of distinctcontent items.

In some instances, the database storing the fingerprints of the knowncontent is also used to store timestamps, indicating particular times atwhich particular items of known content were broadcast. The unknowncontent can also include timestamps, and by performing a two-stepcomparison that matches both the fingerprints and the timestamps ofunknown distinct content items with the fingerprints and timestampsstored in the database of known content items, information can bededuced about a source of the unknown content item.

Currently available technology, however, requires having a comprehensivedatabase of known content items to be compared against each unknowncontent item, because if an unknown content item is not included in thedatabase of known content items, any attempt to identify the unknowncontent item will be unsuccessful.

Even when attempting to identify broadcast content using a fingerprintof a known media item included in the comprehensive database, it can bedifficult to identify subtle changes in a broadcast content item. Forexample, if a fingerprint comparison is made between a media itemactually broadcast and a known media item, but the media item actuallybroadcast has been subtly altered, the actually-broadcast media item maynot be identified as a match because of the changes. For these and otherreasons, currently available technology is less than ideal.

SUMMARY

Disclosed herein are various methods, systems, and devices Disclosedherein are various methods, systems, and devices that can be used toidentify broadcast media items that have been subtly changed from a basemedia item. A substantially-continuous fingerprint representing contentbroadcast by a media station and a first fingerprint representing a baseversion of a discrete media item can be obtained, for example bycapturing content from one or more transmission sources duringtransmission of the content, and generating a plurality of substantiallycontinuous fingerprints. The substantially-continuous fingerprint can,in some implementations, be captured as analog content using a fieldrecorder, and a digital fingerprint can be generated from the capturedanalog content.

A first comparison attempting to match, to a first degree of certainty,portions of the substantially-continuous fingerprint representingcontent broadcast by a media station to the first fingerprintrepresenting a base version of a discrete media item can be performed.

Portions of the substantially-continuous fingerprint that match thefirst fingerprint to the first degree of certainty can be identified asloose matches. For each of the loose matches, a second comparison can bemade in an attempt to match the loose matches to the first fingerprintto a second degree of certainty more stringent than the first degree ofcertainty. Loose matches that fail to match the first fingerprint to thesecond degree of certainty are designated as potentially-altered matches

An attempt can then be made to match individual potentially-alteredmatches against other potentially-altered matches to the second degreeof certainty, and if one or more of the individual potentially-alteredmatches matching another one or more of the other potentially-alteredmatches to the second degree of certainty, one or more of those matchescan be flagged, and designated as a flagged match. Flagged matchesgenerally represent discrete media items broadcast by a station, thatloosely match a known, base media item but do not match it closelyenough to be considered an unaltered base media item.

In at least some embodiments, a new fingerprint of the flagged match isgenerated, and then used to perform a third comparison attempting tomatch, to the first degree of certainty, portions of thesubstantially-continuous fingerprint to the new fingerprint of theflagged match. In various implementations, when potentially-alteredmatches are identified during the second comparison, thepotentially-altered matches are stored in a data construct representinga pool of failed stringent matches.

In various embodiments, multiple first comparisons can be made formultiple substantially continuous fingerprints associated with multipledifferent broadcast media stations, and the second comparison of theloose matches can be performed across multiple different broadcast mediastations, so that if multiple stations broadcast the same changed mediaitem, that changed media item can be identified on any or all of thosestations.

Either the first comparison, the second comparison, or both the firstand second comparison can take into account a margin of error forbroadcast artifacts.

BRIEF DESCRIPTION OF THE DRAWINGS

Aspects of this disclosure will become apparent upon reading thefollowing detailed description and upon reference to the accompanyingdrawings, in which like references may indicate similar elements:

FIG. 1 is a diagram illustrating collection of known and unknownbroadcast content signatures according to various embodiments of thepresent disclosure;

FIG. 2 is a diagram illustrating comparison of known and unknowncollected broadcast signatures according to various embodiments of thepresent disclosure;

FIG. 3 illustrates a hardware system configured to implement embodimentsof the present disclosure;

FIG. 4 is a flowchart illustrating a method according to embodiments ofthe present disclosure;

FIG. 5 is a flowchart illustrating parallel storage of broadcast contentsignatures into buffers, according to various embodiments of the presentdisclosure;

FIGS. 6-7 are diagrams illustrating the organization of fingerprintsinto frames, and frames into blocks, according to various embodiments ofthe present disclosure;

FIG. 8 is a diagram illustrating block by block scoring used inidentifying matching broadcast content, according to various embodimentsof the present disclosure;

FIG. 9 is a diagram illustrating scrubbing a probe from an unknownfingerprint against a known fingerprint, according to variousembodiments of the present disclosure;

FIG. 10 illustrates growing a matching block to identify an unknownfingerprint, according to various embodiments of the present disclosure;

FIG. 11 is a flowchart illustrating a method of identifying and trackingaltered media items included in a media broadcast, according to variousembodiments of the present disclosure;

FIG. 12 is a block diagram illustrating a base fingerprint along withloosely and stringently matched portions of a continuous fingerprint,according to various embodiments of the present disclosure;

FIG. 13 is a block diagram illustrating matched fingerprints ofpotentially-altered media items, according to various embodiments of thepresent disclosure; and

FIG. 14 is a high level block diagram of a processing system, such as aserver, according to an embodiment of the present disclosure.

DETAILED DESCRIPTION

The following is a detailed description of embodiments of the disclosuredepicted in the accompanying drawings. The embodiments are in suchdetail as to clearly communicate the disclosure. However, the amount ofdetail offered is not intended to limit the anticipated variations ofembodiments; on the contrary, the intention is to cover allmodifications, equivalents, and alternatives falling within the spiritand scope of the present disclosure as defined by the appended claims.

Various implementations of the present disclosure can be used toidentify changed advertisements broadcast on one or more different mediastations, either concurrently or at different times during a daypart,day, week, month, season, or other period. In some situations, it can beadvantageous to know when a base advertisement has been altered, and tobe able to identify and track altered advertisements derived from thesame base advertisement. For example, when tracking how often aparticular advertisement has been broadcast, it may be desirable tocount subtly altered versions of the same advertisement towards thetotal number of broadcast instances for reporting and billing purposes.At the same time, knowing if or when altered versions of a baseadvertisement are broadcast can enhance the ability to automaticallytrack and bill advertisements across different media outlets, and todetermine exactly when the altered versions began airing. Consider, forexample, an advertiser that desires to air advertisements for a largeannual sale beginning on November 12^(th). A base advertisementbroadcast during October might announce that the sale begins “nextmonth.” The base advertisement can be altered for broadcast during thefirst week in November to announce that the sale begins, “next week.”Thus, even though the bulk of the ad copy in both advertisements isidentical, the advertisements themselves are not identical.

Various embodiments presented herein improve the functionality of acomputing device by making it possible for the computing device todistinguish between a known “base” media item and altered versions ofthe base media item included in a media station's broadcast, regardlessof whether the altered version is previously known to the computingdevice. Thus, in some embodiments, the computing device does not need tohave access to the altered version of the base media item to be able todetect and track broadcasting of the altered version, the base version,or both the altered and the base version.

Unless otherwise indicated or required by context, the term “media item”as used herein refers to discrete items of programming and commercialcontent, including songs, shows, advertisements, fill, talentrecordings, trailers, station identifiers, and the like. Although manyof the examples presented herein refer primarily to advertisements, theteachings set forth herein can also be applied other media items.Various embodiments find application in and across various type of mediachannels, such as over-air and streaming television, and over-air andstreaming radio, podcasts and other media items broadcast or downloadedvia the Internet or other suitable communications network. The term“substantially continuous fingerprint,” as used herein, refers generallyto a digital fingerprint of all captured media content broadcast of astation over a designated period of time.

Referring now to FIG. 1, a system 100 useful for identification of aparticular broadcast channel, station, or source being observed by auser will be discussed. System 100 can also be used to identify alteredversion of a media item, such as an advertisement, even if the alteredversion only includes subtle alterations. System 100 includes one ormore broadcast sources 102, such as a broadcast radio station,television station, streaming video or audio channel, or other contentbroadcast for consumption by end-users, or others. As used herein, theterm “broadcast” is intended to be interpreted in a broad sense, andincludes broadcasts in various different mediums, including broadcastsmade via the Internet and other communication networks, analog anddigital radio frequency broadcasts such as those broadcasts made byterrestrial and satellite radio and television stations, andtransmissions intended for consumption of more than one person or devicemade in any other suitable medium.

End-users, for example individual consumers and businesses, can use amobile device 105, such as a tablet, personal digital assistant, mobilephone, or another device equipped with or connected to microphone 106 torecord the broadcast content currently being consumed by the end-user.The broadcast content captured by microphone 106 can be analyzed toidentify a broadcast signature, sometimes referred to as a fingerprintand including various representations of the broadcast content, usingcircuitry or a processor implementing a software module 108. Thebroadcast signature, or fingerprint, can be transmitted via acommunication network that includes a cloud computing component 110. Insome embodiments, although not specifically illustrated in FIG. 1, adevice other than mobile device 105 can be used to generate thesignature of the broadcast content captured by microphone 106.

At the same time the user is capturing and determining the signature ofthe content broadcast by broadcast source 102, field recorders 104 canbe used by a monitoring service, service provider, or the like tocapture a comparison signature of the same broadcast content. Thus,there are two representations of the content broadcast by broadcastsource 102: a first unknown representation received by mobile device105; and a second known representation of the same content received byfield recorders 104. The comparison signature captured by fieldrecorders 104 can be delivered to repository 112, which can be a centralor regional server system, data storage site, service provider computersystem, storage local to the field recorders, or another suitable datahandling system. The comparison signature corresponding to the contentbroadcast by broadcast sources 102 is temporarily stored in a buffer, orother memory, in a continuous, sequential manner similar to the way datais stored in a buffer, for example, but not limited to, a FIFO(first-in-first-out) or LIFO (last-in-first-out) buffer. The comparisonsignature stored in repository 112 can then be used for comparison withthe broadcast signature record by end-user's mobile device 105.

The broadcast content representations temporarily stored in repository112 corresponds to fingerprints of essentially continuous real-timebroadcast content, which includes not only signatures of discrete itemslike songs, videos, images, and the like, but can also includeunanticipated, unscripted, or content that may be unknowable until thebroadcast is generated. Note that the data stored in repository 112 is,in at least some embodiments, not simply a database of fingerprints,with records corresponding to discreet content items, although someimplementations can employ a database of individual content items inaddition to the continuous fingerprint described herein. Furthermore,the temporarily stored, continuous broadcast content signature caninclude, audio signatures of advertisements, disc jockey chatter,listener or viewer telephone calls, real-time or custom mixed audiocontent that may include signatures of both prerecorded songs and livecontent, or the like.

By generating a signature that represents the entire broadcast streamintended to be presented to a user, the broadcast signature captured bymobile device 105 can be compared to the broadcast signature recorded byfield recorders 104, thereby allowing identification of a stationbroadcasting the content, regardless of whether an actual song can beidentified based on that same information. For example, if an audiosignature of a song stored in a database is compared to audio capturedby an end-user's mobile device 105, the audio captured by end-usersmobile device may not correlate with any song stored in a databasestoring signatures of discreet songs, for a number of reasons: thecaptured audio may include both the song and other content broadcastconcurrently with that song; the captured audio may simply not be asong; or the captured audio may be audio of a song not included in thedatabase to which is compared. But various embodiments of the presentdisclosure identify a broadcast radio station even when there is nomatch between a song stored in the database and audio captured by theend-users mobile device 105, because the audio captured by the end-usersmobile device 105 is compared against audio captured by field recorders104. Thus, the signatures recorded by both the field recorders 104 inthe end-users mobile device 105 can be matched, regardless of whetherthe signature of audio captured by mobile device 105 corresponds to anadvertisement, or not stored in a database of signatures.

System 100 also includes processing device 130, which in turn includesbase item database 138, used to store fingerprints of known base mediaitems for comparison; comparison engine 136, which performs both looseand strict comparisons between fingerprints of based media items andsubstantially continuous fingerprints of broadcast content captured byfield recorders 104 and stored in repository 112; fingerprint generator134, which can be used to generate fingerprints of particular portionsof broadcast content as determined by comparison engine 136; and memory132, which can include one or more data constructs 133, such as arelational database, linked table, or list used to store a pool offailed matches. The operation of processing device 130 is discussed inmore detail below, in conjunction with FIG. 11.

Referring next to FIG. 2, a system 200 that allows identification of aparticular station from among multiple different broadcast stations willbe discussed according to various embodiments of the present disclosure.A server 203, which may be a regionally located server, a nationallylocated server, a server local to a sub community, or some othercomputing and storage device or system, is used to buffer a desiredamount of audio content from multiple different broadcast stations. Inthe illustrated example, server 203 includes buffered content signaturescorresponding to five different radio stations, S1, S2, S3, S4, and S5.The content from each station is, in at least one embodiment, stored ina different buffer or memory location to permit parallel comparison ofthe signature to be identified with the signatures for each of the radiostations.

Content recorded by an end-user is delivered to a cloud callout routine205, which compares the signature of the audio captured by the end-userwith the signature of the audio captured from each of the broadcaststations S1-S5. Although a cloud callout routine 205 is illustrated, thematching of signatures can be performed at any of various computingelements, according to various system implementations.

In the example illustrated in FIG. 2, a comparison of the signaturecaptured by the end user can be compared against each of the bufferscorresponding to stations S1-S5, results in a match between the audiocontent recorded by the end-users mobile device and the broadcastcontent signature of station S5 207. In rare cases, for example wheretwo stations in the same regional market broadcast identical contentwith a time delay shorter than the time-length of the signature storedin each of the buffers holding the known broadcast content, thesignatures from the two stations may both match the signature of thebroadcast content to be provided.

It will be appreciated that although when discussing FIGS. 1 and 2 acloud callout module has been used for purposes of discussion, variousembodiments do not require use of cloud computing techniques. Forexample, the comparison between the broadcast signatures of stations S1through S5 and the broadcast signature of the recorded audio sample fromthe end-user could be compared at the same computing device used tobuffer the broadcast signatures. In other embodiments various networkedcomputers connected via a local area network (LAN) a wide-area network(WAN), a backbone network, in any of various wired and wirelesssubnetworks can be used to perform a comparison either alone or incombination with other networked computers or other devices.

In some embodiments, the station buffers S1 through S5 can be used inconjunction with fingerprints of broadcast portions from each station,or fingerprints of broadcast portions from a single station, where eachbroadcast portion represents a discrete media item, such as anadvertisement. In some such instances, cloud callout routine 205 can beused to perform loose and stringent comparisons, and to perform thecomparisons between failed loose matches, as discussed subsequently withreference to FIG. 11.

Referring again to FIG. 1, in at least one embodiment both fieldrecorders 104 and mobile device 105 capture broadcast audio content thathas already been, or is in the process of being, presented audibly,visually, or in some other human perceptible form. Still otherembodiments may capture broadcast content prior to the broadcast contentactually being reproduced in human perceptible form. In some suchimplementations, metadata and other computer readable data not intendedfor presentation to end-users in human perceptible form can be removedfrom a digital or analog broadcast signal, and the modified digitalanalyzed to determine a broadcast signature. As used herein, the terms“broadcast signature,” “broadcast content signature,” “broadcast contentfingerprint,” and “broadcast content representation,” are generally usedinterchangeably to refer to a spectral or other type of analysisperformed on all broadcast content intended to be reproduced in humanperceptible form, e.g. audibly, visually, or the like. Generation of afingerprint, in some embodiments, uses techniques similar to thosedisclosed and described in U.S. Patent Pub. No. 2008/0205506, entitled,“METHOD FOR DETERMINING THE LIKELIHOOD OF A MATCH BETWEEN SOURCE DATAAND REFERENCE DATA,” which is incorporated herein by reference in itsentirety.

The amount of broadcast content, or length of broadcast signatures,stored in the buffer or other memory can vary depending on the intendeduse of a specific implementation. For example, an implementation inwhich a user records a snippet of a broadcast and provides a broadcastsignature of that snippet for comparison in near-real time, might employfield recorders and servers that buffer only approximately 30-60 secondsof broadcast content signatures. In other embodiments, for example wherebroadcast content is recorded by an end user with a DVR (digital videorecorder) and viewed at some later time, a buffer of broadcast contentsignatures representing multiple days of broadcast content from aparticular station can be maintained.

Referring next to FIG. 3 a system 300 according to various embodimentsof the present disclosure is illustrated and discussed. System 300illustrates an end-user device 313 capable of recording contentgenerated by an audio source 303, and multiple field recorders 315 and317 capable of obtaining content intended for presentation to users fromvarious TV/radio/podcast of interest sources 305, 307, 309, and 311.System 300 also includes channel ID server 350, which receives contentfingerprints from end-user device 313 and field recorders 315 and 317.Channel ID server 350 generates comparison results by matching thecontent from end-user device 313 field recorders 315 and 317.

End-user device 313 can include a microphone to record an audio source303 currently being observed or listened to by an end-user. In at leastone embodiment, audio source 303 may be a source external to end-userdevice 313, for example a portable radio, or a radio or televisionstation playing at a store, restaurant, or other venue. In someembodiments, audio source 303 may be included in end-user device 313,such that end-user device 313 actually produces an audible signal froman audio source, such as a radio station, television station, podcast,or the like.

The audible signal produced by audio source 303 can be recorded by amicrophone (not illustrated) in end-user device 313. The output of themicrophone, which represents broadcast content presented to the user ina human perceptible format, can be delivered to digitizing module 321where the analog recording is digitized for further analysis by end-userdevice 313. The digitized audio is delivered to fingerprint module 323,which analyzes the digitized audio from digitizing module 321, andgenerates a fingerprint. In at least some embodiments, this fingerprintis a spectral representation of the broadcast content generated by audiosource 303.

The output of fingerprint module 323 can be delivered to channel IDserver 350 for comparison with broadcast content representationsprovided by field recorders 315 and 317. The representation generated byfingerprint module 323, in at least one embodiment, can be delivered tochannel ID server 350 via a cellular or telephone network, a wirelessdata network, a wired data network, a wide-area network, which mayinclude any of various communication networks, such as the Internet.

In at least some embodiments, the output of fingerprint module 323 isdelivered to channel ID server 350 in substantially real-time, and maybe delivered along with a request from end-user device 313 to identify astation to which audio source 303 is tuned. In other embodiments, norequest for station identification is transmitted from end-user device313, although channel ID server 350 can still be used to identify thesource, e.g. the radio or television station or channel, being listenedto or otherwise viewed by the end user. In other words, end-user device313 captures an audible signal generated by audio source 303, digitizesthe audio signal in digitizing module 321, converts the digitized audioto a fingerprint in fingerprint module 323, and sends that fingerprintto channel ID server 350.

In some embodiments, the fingerprint of the broadcast audio contenttransmitted to channel ID server 350 by end-user device 313 correspondsto a predetermined length of broadcast content. For example, end-userdevice 313 can record 5 seconds of broadcast content from audio source303, generate a representation of the 5 seconds of audio content, andtransmit the representation to channel ID server 350, thereby allowingthe representation corresponding to the 5 seconds of broadcast contentto be compared with representations of broadcast content received fromfield recorders 315 and 317. If the representations provided by fieldrecorders 315 and 317 match the representation provided by end-userdevice 313, channel ID server 350 outputs results indicating the match.In some embodiments, the results generated by channel ID server 350include the identification of the station that was broadcasting theaudio content recorded by both end-user device 313 and field recorders315 and 317. In other embodiments a flag can be set, or an indicatortransmitted, indicating generally, that the source of the 5 secondsnippet processed by end-user device 313 can be identified.

In some embodiments a channel identifier is sent to end-user device 313for display. The channel identifier can be a station logo, a channelnumber, station call letters, or another suitable identifier. In someembodiments, the station identifier can be sent to end-user device 313,but is not displayed. In some such embodiments, end-user device 313 canstore the station identifier and use it in conjunction with userprofiles or other information to assist in performing searches, toassist in identifying or selecting music, video, or other content, etc.

In some embodiments, channel identifiers may or may not be delivered toend-user device 313, and are used in the aggregate. For example, channelidentifiers can be collected in a database and used to analyzelistenership data for particular channels or stations.

Various embodiments of the present disclosure can identify a broadcastsource, and use the identity of the broadcast source to identify aspecific media item being listened to by an end user, without resort toa database of known songs, television shows, or other content items. Inother embodiments, even if a base media item is known, unknown alteredmedia items can be identified, even though the altered media item is notknown in advance of beginning a comparison between a fingerprint of thebase media item and a fingerprint of broadcast content. Furthermore,various embodiments do not require timestamps, watermarks, or the liketo correlate broadcast content captured, recorded, digitized andanalyzed by end-user device 313, with content captured, recorded,digitized and analyzed by field recorders 315 and 317. Instead, thebroadcast content received by end-user device can be correlated withbroadcast content received by field recorders 315 and 317 atsubstantially the same time the field recorders and the end user deviceare receiving the broadcast content. In some implementations, even ifthere is a delay between the time end user device 313 receives thebroadcast content, and the time when channel ID server 350 performs thecomparison, or matching, no timestamps, watermarks, or the like arerequired, because the comparison performed is between two livebroadcasts recorded at essentially the same time, rather than between alive broadcast and a database of discreet song signatures.

For example, field recorder 315 can record and process broadcast contentreceived from multiple different stations, or TV/radio/podcast ofinterest sources 305 and 307. Each interest source 305 and 307 processedby field recorder 315 can be, in some embodiments, processed usingseparate processing paths that each include a digitizing module 321 anda fingerprint module 323. In other embodiments, the same hardware can beused to perform separate digitizing and fingerprinting of multipledifferent stations, such as interest sources 305 and 307. For example,where processing in the field recorders is performed using a systeminclude a multicore processor, or multiple processors, multipledifferent stations can be processed efficiently in parallel.Furthermore, by employing multiple field recorders such as fieldrecorder 315 and 317, fingerprints for numerous different stations, suchas interest sources 305, 307, 309, and 311 can be generated in parallel.

For each station, such as interest sources 305, 307, 309, and 311 beingprocessed, the broadcast content can be digitized in a digitizing module321, and analyzed and converted to a representation of the digitizedaudio using fingerprint module 323. The digitizing modules 321 andfingerprint modules 323 included in field recorder 315 and 317 can beimplemented in software, hardware, or various commendations thereof.

The output of field recorders 315 and 317 includes representations ofbroadcast content received from stations, such as interest sources 305,307, 309, and 311, and is transmitted to channel ID server 350 forcomparison with representations of broadcast content provided byend-user device 313. This comparison allows channel ID server 350 todetermine which station of interest sourced 305, 307, 309, and 311, ifany, correspond to audio source 303. As illustrated in FIG. 3, system300 includes channel ID server 350, which in turn includes comparisonengine 357 and continuous fingerprint stores 351, 352, 353, and 354.Each of the continuous fingerprint stores 351-354, is used totemporarily store fingerprints received from field recorders, where eachfingerprint corresponds to a different station.

In at least one embodiment, comparison engine 357 is used to compare thefingerprint received from end-user device 313 with the fingerprintsreceived from field recorders 315 and 317, thereby facilitatingidentification of the station to which end-user is listening, in thisexample audio source 303. The station to which end-user is listening canbe identified by various embodiments, because each of the fingerprintsstored in the continuous fingerprint store 351-354 corresponds to afingerprint of substantially all content intended for human perceptionthat was broadcast from stations, such as interest sources 305, 307,309, and 311. The fingerprints stored in continuous fingerprint stores351-354 can be compared concurrently, simultaneously, or generally atthe same time as fingerprints from other continuous fingerprint storesare being compared to the fingerprint received from end-user device 313.In this way, the fingerprint recorded by end-user device 313 can becompared against the fingerprints of numerous different broadcaststations at the same time, thereby speeding the identification of theradio station or other station to which the end-user is listening.

Continuous fingerprint stores 351-354 are, in at least one embodiment,limited time cache memories used to store broadcast contentrepresentations from field recorders. Thus, each continuous fingerprintstore 351-354 can be used to store, for example, representationscorresponding to 30 seconds worth of broadcast content from a particularstation. If the fingerprint received from and user device 313 matchesthe fingerprint of a particular station stored in the continuousfingerprint store 351-354, then comparison engine 357 identifies thestation corresponding to the stored continuous fingerprint as the samestation listen to by end-user device 313.

In some embodiments, field recorders 315 and 317 record audio contentwith a microphone, in a manner similar to that used by end-user device313 to record the broadcast content from audio source 303. In otherembodiments, field recorders 315 and 317 can include additional modules,software, circuitry, or combinations thereof to enable the fieldrecorders to separate the intended human perceptible content fromnon-human perceptible content and to generate a spectral analysis, orother representation, of only the human perceptible broadcast content.

For example, digital broadcasts can include metadata such as songtitles, and other data in addition to the content intended forhuman-perceptible presentation to audience members. In some embodimentsfield recorders, without actually generating audible, visual, or othercontent intended for perception by a user, can strip off the hiddenmetadata and other content not intended for presentation to a user, andgenerate a fingerprint based on substantially only the broadcast contentintended for presentation to the user without actually reproducing thehuman-perceptible content.

It will be appreciated, that although primarily audio content and audiosources are discussed with respect to FIG. 3, other types of broadcastcontent can be recorded and processed to identify a station beingobserved by end-user. Thus, if an end-user is watching a particulartelevision station, the broadcast content generated by the televisioncan be recorded by a field recorder and end-user device 313. Thebroadcast content from the television station can be processed andcompared by comparison engine 357 to permit identification of atelevision station being viewed by the end-user. This identification canbe based on either the audio content, the video content, or somecombination thereof. Similar techniques can be applied to identifybroadcast stations received by a user over the Internet, podcasts, andthe like. Identification based on tactile reproduction of broadcastcontent can also be performed according to at least one embodiment.

At least one embodiment of the present disclosure contemplates storing alimited quantity of data in continuous fingerprint stores 351-354, sothat fingerprints received at channel ID server 350 from end-user device313 are compared with essentially contemporaneous fingerprints recordedby field recorders 315 317. Thus, the comparison between thefingerprints from end-user device 313 and field recorders 315 317, canbe compared in near real-time to provide a substantially current stationidentification.

In some cases, representations corresponding to an arbitrarily largetime period can be stored in continuous fingerprint stores 351-354.Thus, for example, if audio source 303 is recorded by a DVR (notillustrated), and end-user device 313 is used to generate a fingerprintcorresponding to a portion of broadcast content from audio source 303that aired 3 hours prior to be being viewed, sufficient fingerprint datacan be stored in one or more of the continuous fingerprint stores351-354 to permit identification of audio source 303.

Using a continuous fingerprint store to identify a broadcast sourcediffers from using a traditional database holding discrete broadcastelements to identify whether that exact discrete content item isincluded in a broadcast. Consider the case where an identical song isbroadcast on two different radio stations at the same time, but on afirst radio station a first disc jockey is talking over the song toannounce a contest or prizewinner, while on a second radio station asecond disc jockey is fading the song into another song, a spectralanalysis of the two radio stations will not be the same, even though thesame song is being played on both stations. Comparison of a fingerprintreceived from the end-user device 313 corresponding to the first radiostation with a database of pre-stored fingerprints corresponding todiscrete content elements would yield no match, because the fingerprintstored in the database would not include a representation of the songplus the voice overlay, or a representation of the song plus the fade.Various embodiments of the present disclosure, however, would yield amatch between the fingerprint generated by the end-user device 313 andthe fingerprint corresponding to the first radio station.

Referring next to FIG. 4, a method 400 will be discussed according tovarious embodiments of the present disclosure. As illustrated by block403 a fingerprint representing a portion of a broadcast obtained from anunknown source, is received from an end user's device. The fingerprintcan be conceptually, or actually, broken into smaller pieces calledprobes.

As illustrated by block 405, a determination is made regarding whetheror not there is another probe process. In general, determining whetherthere is another probe to process refers to determining whether or notanother portion of the fingerprint corresponding to the unknown sourceis to be compared against one or more known fingerprints stored in acontinuous fingerprint store, or buffer.

As illustrated by block 407, if there are more probes to process, adetermination is made at block 407 regarding whether or not thereanymore fingerprints of known sources, against which to compare thefingerprint from the unknown source. If there are no fingerprints fromknown sources or stations to compare against the unknown fingerprint,the method proceeds back to block 405, where another check is made foradditional probes to process.

If there are no more probes to process, and there are no other knownsources to compare against the probes, method 400 proceeds to block 409.At block 409, a determination is made about whether the list of possiblematches is empty; the list will be empty if no fingerprint from a knownsource or station had been matched to the fingerprint from the unknownsource.

As illustrated by block 419, if no matches have been identified, i.e.the list of possible matches is empty, method 400 labels the fingerprintrepresenting broadcast content from the unknown source asunidentifiable. As illustrated by block 421, if there are one or morepotential matches in the list of possible matches, then the newestcontinuous fingerprint with the highest score is chosen as the bestmatch. Some embodiments employ different criteria to determine the bestmatch.

As illustrated by block 423, after a match has been chosen, method 400marks the fingerprint from the unknown source as identified. Marking thefingerprint identified can include appending a station identifier to thefingerprint, sending a message to the user indicating the identity ofthe station he is listening to, sending the user, via a communicationnetwork, content selected based on the station identified, or the like.

Referring now to the output of block 407, the case where there are moreprobes to process and there are additional sources to compare with theunknown fingerprint will be discussed. As illustrated by block 411 theprobe, or portion of the unknown fingerprint being processed, iscompared against the continuous fingerprint of a known source. Asillustrated by block 413, a determination is made regarding whether theprobe matches a portion of the known, continuous fingerprint. If nomatch is found method 400 returns to block 407 to determine if there isanother source to compare against the probe.

As illustrated by block 415, if a match is found between a probe and aportion of a known fingerprint, method 400 determines whether the restof the unknown fingerprint matches the known fingerprint. This issometimes referred to herein as “expanding the match.”

As illustrated by block 417, if there the match between the probe of theunknown fingerprint and the known fingerprint can be expanded to verifythat at least a threshold amount of the unknown fingerprint matches thefingerprint from the known source, match information is added to thelist of possible matches. The information added to the list of possiblematches can include one or more scores or other indicators of how wellthe fingerprint from the unknown source matches fingerprints from knownsources, information about which sources matched, information about atime at which the matched content was being broadcast, the type ofcontent matched, name of content item matched, information related tospots broadcast sponsors and advertisers, information linking thematched content to other content items deemed to be of interest toconsumers of the matched content, length of the matched content, linksto previously matched content, communication addresses, and the like.

After adding match information to the list of possible matches, method400 returns to block 405, and a decision is made regarding whether thereis another probe process

Referring next to FIG. 5, a method 500 illustrating concurrent, orparallel, accumulation of continuous fingerprints for multiple differentbroadcast sources is illustrated and discussed. As shown in FIG. 5,stations 1-N can be processed concurrently. At block 503, continuousfingerprints of broadcast content are received from known sources, forexample radio or television channels, stations or the like. Asillustrated by block 505, new data received from the known source can beappended to previous data received and accumulated in the continuousfingerprint source.

As illustrated by block 507, a check is made to determine whether theaccumulated continuous fingerprint exceeds a threshold value establishedas the maximum size for data storage. In some embodiments for example amaximum size threshold for accumulated continuous fingerprint data canbe set to an amount of fingerprint data corresponding to 30 secondsworth of broadcast content. In other embodiments, the threshold foraccumulated continuous fingerprint data may be set to correspond tomultiple days or weeks of broadcast content. As illustrated by block509, if there is too much data in the accumulated continuousfingerprint, the oldest continuous fingerprint data can be removed untilthe accumulated continuous fingerprint buffer falls within the thresholdsize limit.

Referring next to FIGS. 6-7, a fingerprint such as that generated byeither an end-user device or a field recorder is illustrated anddiscussed. In FIG. 6, a fingerprint 601 is shown logically, or in somecases physically, segmented into a number of frames 603. Differentembodiments use different numbers of frames, and the number of frames603 can be chosen based on the type of processing system, timeconstraints, or the accuracy desired. In at least one embodiment, afingerprint consists of one 48-bit number for each 1/10th of a second ofaudio, in chronological order.

FIG. 7 illustrates a fingerprint 701, which has been divided intomultiple frames 703, and the frames 703 have been grouped into blocks705, 707, 709, and 711. In at least one embodiment a fingerprint beingcompared to another fingerprint may be expected to be “stretched” intime relative to one another. To compensate for this expected timestretch, the number of frames in each block is chosen to be the numberof frames before a one-frame offset between the two fingerprints. Forexample, a 16 frame block corresponds to a maximum expected time-stretchof 6.25%, which has been empirically identified as a good choice forradio.

As illustrated by FIG. 8, a score for each block 805 of an unknownfingerprint is compared against each block 807 of a known fingerprint bycomparing each frame of block 805 against each from of block 807. Thescores for each frame by frame comparison are then used to determine ablock vs. block score 809. In at least one embodiment, the block vs.block score can be computed using the median, or another k^(th) orderfunction, of the individual frame vs. frame scores.

Referring next to FIG. 9, comparing a probe of a fingerprint from anunknown broadcast source against a fingerprint from a known broadcastsource will be discussed according to embodiments of the presentdisclosure. To “scrub a probe” from one fingerprint against anothermeans that one segment of the fingerprint being identified, which in theillustrated embodiment is a block, is matched against each possibleblock of the other fingerprint, on a frame by frame boundary, againstthe other fingerprint until either the comparison yields a score thatexceeds a threshold value, or a determination is made that the probedoes not match.

For example, block 905 of fingerprint 901, which in this exampleincludes 16 frames, is compared and scored against each possible blockof 16 sequential frames of fingerprint 902 until the match score exceedsa threshold value indicating that the two blocks being compared might bea match. Thus, block 905 is compared first against block 912, thenagainst block 914, and so on until a potential match is found, or untilthere are no more blocks to compare. Multiple block comparisons can beperformed concurrently, rather than sequentially. The result of thescrub are the positions of two blocks, one from the unknown fingerprintand one from the known fingerprint, that match each other well.

Referring next to FIG. 10, growing the matched probe according tovarious embodiments will be discussed. FIG. 10 illustrates blocks 1003,1005, 1009, and 1007, which are included in fingerprint 1013, beingcompared against blocks 1033, 1035, 1037, and 1039, which are includedin fingerprint 1015. Once two matching blocks have been identified, anattempt to grow the match is made by taking the block prior the probeand the block after the probe, and scoring those blocks against thecorresponding blocks in the target fingerprint as well as the blocksdefined by starting one frame earlier and one frame later.

Content from the unknown broadcast source may be time stretched longer,or time stretched shorter, so some embodiments implementing the matchingprocess account for the time stretch by occasionally either skipping atick in the target or matching it twice. The time stretching may beintentional, as in a radio station squeezing or stretching a song to hitan exact time marker, or unintentional such as the clock in the analogto digital converter being off specification.

To compensate for a time stretch difference between a reference and atarget, some implementations attempt three different matches, anddeclare that a synchronization point in the target corresponds to thebest scoring of the three attempted matches. By matching a 16-frameblock from the reference to three pieces of the target, e.g. the 16frames at the expected matching location as well as the 16 framesstarting one frame earlier and one frame later. In this way, when aprobe from the dead center of the reference matches the dead center ofthe target, the blocks of ticks at either end of the reference can matchtarget ticks that are up to a predetermined distance away from where wewould expect them to be if the audio was perfectly speed-synced betweenthe reference and the target. In at least one embodiment, thepredetermined distance is about 6.25%.

For example, assume that blocks 1005 and 1035 were identified asmatching blocks by the procedure illustrated in FIG. 9. In someembodiments, Block 1003 is scored against block 1033, shifted block1022, and shifted block 1020. The best of the three scores is selected,and defines the location for the next block to grow. Block 1009 isscored against block 1039, and shifted blocks 1018 and 1016 in a similarmanner. Growth of the match is continued in each direction until the endof the fingerprint is reached, or until the scores fall below athreshold.

Consider, for example, the situation where a listening device encodes astation change. A score computed for each 16 frame block from thereference to the target might yield a progression of scores that run:high, high, high . . . low, low, low . . . . Various embodiments canconclude that the drop in scores was consistent with the referencestation only for the length of high scoring matches, but not for theentire duration of the sample.

Referring now to FIG. 11, a method 1100 of identifying and trackingaltered media items included in a media broadcast will be discussedaccording to various embodiments of the present disclosure. Asillustrated at block 1105, a substantially continuous fingerprint ofstation content is obtained. The substantially continuous fingerprintcan be a fingerprint of a limited time duration, for example afingerprint of a daypart, hour, or day of a single media station, acontinuously-updated fingerprint providing a fingerprint of a station'sbroadcast content on a “sliding” basis in real time, or otherwise. Thesubstantially continuous fingerprint can be obtained directly from oneor more field recorders, or from a service that generates thefingerprints from a station's broadcast content.

As illustrated at block 1107, a fingerprint of a base version of one ormore media items, for example one or more advertisements, is obtained.In some embodiments, the fingerprint of the base version of the mediaitem can be generated directly from a copy of the advertisement obtainedfrom an advertiser or some other source. In other implementations, thefingerprint of the base version of the media item can be obtainedindirectly from a broadcast captured using a field recorder, or end userdevice.

As illustrated at block 1109, the continuous fingerprint can be comparedto the fingerprint of the base version of the media item using loosematch criteria. The loose match criteria can be selected so that matchesindicate that the fingerprints being compared match to a given level ofcertainty. For example, if at least 50% of the blocks match identically,that could indicate a 75% chance that the base media item matches agiven portion of the continuous fingerprint. In other instances, if 75%of the blocks are each 75% matches to each other, then the likelihoodthat the two fingerprints being compared are fingerprints of the samemedia item is increased. In other embodiments, any out of order blocks,even if the blocks are perfect matches individually, could indicate aless than 50% chance that the two fingerprints being compared arefingerprints of the same media item. In at least one embodiment, a loosematch indicates at least a 75% chance that the base media item matches adiscrete media item represented by the portion of the continuousfingerprint being compared. In other embodiments, a loose match can beset to 85%, or another suitable value. Setting the loose match to alesser certainty can have the effect of identifying more fingerprintportions for additional consideration, but can conserve processingresources used to identify the loose matches.

As illustrated at block 1113, a determination is made, based on thecomparison, about whether or not the two fingerprints being comparedsatisfy the criteria to be a loose match. If not, block 1113 can returnto block 1109, where the fingerprint of the base version of the mediaitem can be compared to another portion of the substantially continuousfingerprint of the broadcast content of one or more stations.

If the determination at block 1113 indicates a loose match, a secondcomparison between the same two fingerprints can be performed usingstricter matching criteria, as illustrated at block 1115. For example,if the loose match criteria requires 79% of the blocks in thefingerprints to match, the stringent criteria applied at block 1115 canrequire that 88% of the blocks included in the fingerprints match.Similarly, if the loose match criteria require 75% of the blocks tomatch exactly, but allows 25% of the blocks to include 8 frames that donot match, the stringent criteria can require 90% of the blocks to matchexactly, and allow the remaining 10% of the blocks to include only 2non-matching frames.

It should be noted that either or both of the loose-match criteria andthe stringent-match criteria can include a margin of error to accountfor broadcast artifacts and errors such as transmission errors, noise,playback speed, or the like. Thus, for example in many embodiments amatch can allow for a 1%-5% margin of error, meaning that an exact matchcan refer to a match range of 95% to 99%. In other embodiments,different margins of error can be allowed. These margins of error can bedetermined, for example, based on a Hamming distance between thefingerprints or portions of fingerprints, based on a number ofnon-matching frames, a number of non-matching blocks, or as otherwisediscussed herein.

As illustrated at block 1117, if the strict, or stringent, comparison ofblock 1115 indicates a strict match, the portion of the substantiallycontinuous fingerprint under consideration can be designated as abroadcast instance of the base version of the media item, as illustratedby block 1119. Markers and identifiers can be inserted in thesubstantially continuous fingerprint in some embodiments. As illustratedat block 1121, information regarding the station, time, matchpercentage, item identifier, fingerprint identifier, or similarinformation can be stored for reporting and billing purposes. Method1100 can then return to block 1109, where comparison of the fingerprintof the base version to other portions of the substantially continuousfingerprint continues.

If the strict comparison of block 1115 fails to indicate a match, theportion of the continuous fingerprint that passed the loose match, butfailed the strict match, can be flagged and/or stored in a pool offailed loose matches, as illustrated by block 1123. These failed loosematches are referred to herein as potentially-altered matches. Asillustrated at block 1125, a check is made to determine if anypotentially-altered matches have been flagged or stored in the pool offailed loose matches. If not, method 1100 waits until anotherpotentially-altered match is added to the pool of failed loose matches.

As illustrated at block 1127, if there are multiple potentially-alteredmatches in the pool of failed loose matches they can be compared to eachother at block 1129 to determine if the potentially-altered matchesmatch each other. In at least one embodiment, if the match performed atblock 1129 indicates that the items being compared do not match eachother, method 1100 ends. However, if the matching process performed atblock 1129 indicates that the items being compared match each other,either or both of the matches can be flagged as a modified version ofthe base media item, as illustrated by block 1131. The modified versionsflagged at block 1131 are sometimes referred to herein as “flaggedmatches.” Note that the when generating a flagged match, a flag can beappended or prepended to a fingerprint file or to a fingerprint fileidentifier, or a separate flag or marker can be linked to thefingerprint file or fingerprint file identifier.

The matching process of block 1129 need not use the same matchingcriteria used in previous comparison steps, but in at least oneembodiment the match process of block 1129 uses the strict or stringentcriteria used at block 1117. Consider a case in which a baseadvertisement has been modified, and the modified version of theadvertisement is being used as a replacement for the base version of theadvertisement. In general operation the modified version of theadvertisement will loosely match the base version of the advertisement,but not match the base version strictly. If multiple instances of themodified version of the advertisement are broadcast, those instancesshould each be placed in the pool of failed loose matches. Multipleinstances of the same item in the pool of failed loose matches canindicated that the modified version of the advertisement is beingbroadcast in place of the base version of the advertisement, or that themodified version of the advertisement is being broadcast in addition tothe base version of the advertisement.

As illustrated at block 1133, in response to generating a flagged matchat block 1131, in some embodiments a new fingerprint representing thealtered version of the advertisement can be generated, and then used forcomparison with the substantially continuous fingerprint of stationcontent to identify broadcast instances of the altered version of theadvertisement, as illustrated at block 1135. In various implementations,additional alterations to a base advertisement can be identified byperforming comparisons using either or both the fingerprint of the baseversion of the advertisement and the fingerprint of the altered versionof the advertisement.

Referring now to FIG. 12, relationships between a base fingerprint, andloosely and stringently matched portions of a continuous fingerprintwill be discussed according to various embodiments of the presentdisclosure. Base fingerprint 1211 is shown divided into three blocks:Block A 1203, Block B 1205, and Block C 1207. Each of the three blocksis further divided into frames. The Block/Frame structure offingerprints, as well as specifics regarding how blocks can be comparedand scored, has been discussed previously with respect to FIGS. 6-9.

A portion of a continuous fingerprint that satisfies loose matchcriteria according to one embodiment is illustrated as loose matchedportion of continuous fingerprint 1221. The loose match criteria in thecurrent example specifies that each block of loose matched portion ofcontinuous fingerprint 1221, e.g. Block A₁ 1213, Block B₁ 1215, andBlock C₁ 1217 must match corresponding Block A 1203, Block B 1205, andBlock C 1207 of base fingerprint 1211 to an 85% certainty.

The loose match criteria in another embodiment can specify that at leasttwo of the blocks included in loose matched portion of continuousfingerprint 1231, e.g. Block A₂ 1223 and Block B₂ 1225, must matchcorresponding Block A 1203 and Block B 1205 of base fingerprint 1211 toa 95% certainty, while Block C₂ 1227 of loose matched portion ofcontinuous fingerprint 1231 is allowed to match corresponding Block C1207 of base fingerprint 1211 to only an 85% certainty.

Stringent match criteria for either example of loose matched portion ofcontinuous fingerprint 1221 or 1231 discussed above, can require eachblock of stringent matched portion of continuous fingerprint 1241, e.g.Block A₃ 1233, Block B₃ 1235, and Block C₃ 1237 must match correspondingBlock A 1203, Block B 1205, and Block C 1207 of base fingerprint 1211 toan 95% certainty.

Various combinations of loose and stringent match criteria can be usedin various different embodiments. As previously discussed, anyfingerprints that satisfy loose match criteria but fail to also meet thestringent match criteria can be placed in a pool of failed loose matchesfor later comparison with each other. Also recall that items in the poolof failed loose matches are sometimes referred to herein aspotentially-altered media items or potentially-altered advertisements.

Referring now to FIG. 13, matched fingerprints of potentially-alteredmedia items will be discussed according to various embodiments of thepresent disclosure. As illustrated in FIG. 13, first potentially-alteredmatch 1311 can be compared to second potentially-altered match 1321. Inat least one embodiment the same stringent match criteria used toevaluate loose matches can be used. In the illustrated embodiment, for afingerprint to be considered matching, the stringent match criteria canrequire each block of second potentially-altered match 1321, e.g. BlockD₃ 1313, Block E₁ 1315, and Block F₁ 1317 must match corresponding BlockD 1303, Block E 1305, and Block F 1307 of first potentially-alteredmatch 1311 to an 95% certainty.

Various different matching criteria can be used without departing fromthe sprit and scope of the present disclosure, and in some embodimentsthe loose match criteria, the stringent match criteria, or both can beadjusted over time based on empirical data related to a particularstation, a particular type of station, particular times of day, etc. Forexample, if experience indicates that a particular station employsstretching or compression techniques that results in even identicalmedia items failing to satisfy either the loose or stringent matchthresholds, those thresholds can be adjusted to add an additional marginof error to account for the affects the matching process for thatparticular station. Similar adjustments to matching criteria can be madea type of station basis, for example different thresholds can beemployed for streaming media stations versus over air broadcaststations.

Referring next to FIG. 14, a high-level block diagram of a processingsystem is illustrated and discussed according to various embodiments ofthe present disclosure. Processing system 1400 includes one or morecentral processing units, such as CPU A 1405 and CPU B 1407, which maybe conventional microprocessors interconnected with various other unitsvia at least one system bus 1410. CPU A 1405 and CPU B 1407 may beseparate cores of an individual, multi-core processor, or individualprocessors connected via a specialized bus 1411. In some embodiments,CPU A 1405 or CPU B 1407 may be a specialized processor, such as agraphics processor, other co-processor, or the like.

Processing system 1400 includes random access memory (RAM) 1420;read-only memory (ROM) 1415, wherein the ROM 1415 could also be erasableprogrammable read-only memory (EPROM) or electrically erasableprogrammable read-only memory (EEPROM); and input/output (I/O) adapter1425, for connecting peripheral devices such as disk units 1430, opticaldrive 1436, or tape drive 1437 to system bus 1410; a user interfaceadapter 1440 for connecting keyboard 1445, mouse 1450, speaker 1455,microphone 1460, or other user interface devices to system bus 1410;communications adapter 1465 for connecting processing system 1400 to aninformation network such as the Internet or any of various local areanetworks, wide area networks, telephone networks, or the like; anddisplay adapter 1470 for connecting system bus 1410 to a display devicesuch as monitor 1475. Mouse 1450 has a series of buttons 1480, 1485 andmay be used to control a cursor shown on monitor 1475.

It will be understood that processing system 1400 may include othersuitable data processing systems without departing from the scope of thepresent disclosure. For example, processing system 1400 may include bulkstorage and cache memories, which provide temporary storage of at leastsome program code in order to reduce the number of times code must beretrieved from bulk storage during execution.

Various disclosed embodiments can be implemented in hardware, software,or a combination containing both hardware and software elements. In oneor more embodiments, the invention is implemented in software, whichincludes but is not limited to firmware, resident software, microcode,etc. Some embodiments may be realized as a computer program product, andmay be implemented as a non-transitory computer-usable orcomputer-readable medium embodying program code for use by, or inconnection with, a computer, a processor, or other suitable instructionexecution system.

For the purposes of this description, a computer-usable or computerreadable medium can be any tangible apparatus or device that cancontain, store, communicate, or transport the program for use by or inconnection with an instruction execution system, apparatus, or device.By way of example, and not limitation, computer readable media maycomprise any of various types of computer storage media, includingvolatile and non-volatile, removable and non-removable media implementedin any suitable method or technology for storage of information such ascomputer readable instructions, data structures, program modules, orother data. Computer storage media include, but are not limited to, RAM,ROM, EEPROM, flash memory or other memory technology, CD-ROM, digitalversatile disks (DVD) or other optical storage, magnetic cassettes,magnetic tape, magnetic disk storage or other magnetic storage devices,or any other medium which can be used to store the desired informationand which can be accessed by a computer.

Various embodiments have been described for identifying an unknownbroadcast source based on comparison of a representation of thebroadcast source with a representation of a known continuous broadcastsource. Other variations and modifications of the embodiments disclosedmay be made based on the description provided, without departing fromthe scope of the invention as set forth in the following claims.

What is claimed is:
 1. A method of identifying altered versions ofbroadcast content by an identification server: for each broadcast mediaitem of a plurality of different broadcast media items: performing aloose-match comparison between a fingerprint of a base version of amedia item and a fingerprint of a broadcast version of a media item toidentify loose matches, by executing a program instruction in aprocessor of a computing device; for each loose match identified by theloose-match comparison, performing a strict-match comparison between theloose match and the base version of the media item, by executing aprogram instruction in a processor of a computing device; flagging loosematches that fail the strict-match comparison as potentially-alteredversions, by executing a program instruction in a processor of acomputing device; comparing the potentially-altered versions to eachother to identify altered versions of the base version of the mediaitem, wherein potentially-altered versions that match each other aredesignated as an altered version, by executing a program instruction ina processor of a computing device; generating a new fingerprint of thealtered version, by executing a program instruction in a processor of acomputing device; and identifying matches to the altered version, atleast in part, by performing at least one additional iteration of theloose-match comparison and the strict-match comparison using the newfingerprint of the altered version in place of the fingerprint of thebase version, by executing a program instruction in a processor of acomputing device.
 2. The method of claim 1, further comprising:obtaining the fingerprint of the broadcast version of the media itemfrom a substantially-continuous fingerprint representing contentbroadcast by a media station, by executing a program instruction in aprocessor of a computing device.
 3. The method of claim 2, whereinobtaining the substantially-continuous fingerprint includes: capturingcontent from a plurality of transmission sources during transmission ofthe content, by executing a program instruction in a processor of acomputing device; and generating a plurality of substantially continuousfingerprints, by executing a program instruction in a processor of acomputing device.
 4. The method of claim 1, further comprising:identifying additional altered versions of the base version of a mediaitem by performing comparisons using both the fingerprint of the baseversion of a media item and the new fingerprint of the altered version.5. The method of claim 1, further comprising: performing the loose-matchcomparison based on fingerprints of broadcast items obtained from aplurality of different broadcast media stations, by executing a programinstruction in a processor of a computing device; and performing thestrict-match comparison across loose matches associated with multipledifferent broadcast media stations, by executing a program instructionin a processor of a computing device.
 6. The method of claim 1, furthercomprising: wherein the strict-match comparison takes into account amargin of error for broadcast artifacts.
 7. The method of claim 1,further comprising: storing the potentially-altered matches in a dataconstruct representing a pool of failed strict-matches.
 8. A systemcomprising: at least one recorder configured to: capture transmittedcontent associated with a media station; generate asubstantially-continuous fingerprint representing content transmitted bythe media station; a computing device including a processor andassociated memory, the computing device configured to: perform aloose-match comparison between a fingerprint of a base version of amedia item and the substantially-continuous fingerprint to identifyportions of the substantially-continuous fingerprint as loose matches tothe base version of the media item, by executing a program instructionin a processor of a computing device; for each loose match identified bythe loose-match comparison, perform a strict-match comparison betweenthe loose match and the base version of the media item, by executing aprogram instruction in a processor of a computing device; flag loosematches that fail the strict-match comparison as potentially-alteredversions of the base version of the media item, by executing a programinstruction in a processor of a computing device; compare thepotentially-altered versions to each other to identify altered versionsof the base version of the media item, wherein potentially-alteredversions that match each other are designated as an altered version, byexecuting a program instruction in a processor of a computing device;generate a new fingerprint of the altered version, by executing aprogram instruction in a processor of a computing device; and identifymatches to the altered version, at least in part, by performing at leastone additional iteration of the loose-match comparison and thestrict-match comparison using the new fingerprint of the altered versionin place of the fingerprint of the base version, by executing a programinstruction in a processor of a computing device.
 9. The system of claim8, further comprising a plurality of recorders configured to: capturetransmitted content from a plurality of transmission sources duringtransmission of the content, by executing a program instruction in aprocessor of a computing device; and generate a plurality ofsubstantially continuous fingerprints, by executing a programinstruction in a processor of a computing device.
 10. The system ofclaim 8, wherein the computing device is further configured to: identifyadditional altered versions of the base version of a media item byperforming comparisons using both the fingerprint of the base version ofa media item and the new fingerprint of the altered version.
 11. Thesystem of claim 8, wherein the computing device is further configuredto: perform the loose-match comparison based on fingerprints ofbroadcast items obtained from a plurality of different broadcast mediastations, by executing a program instruction in a processor of acomputing device; and perform the strict-match comparison across loosematches associated with multiple different broadcast media stations, byexecuting a program instruction in a processor of a computing device.12. The system of claim 8, wherein the computing device is furtherconfigured to: take into account a margin of error for broadcastartifacts when performing the strict-match comparison.
 13. The system ofclaim 8, wherein the computing device is further configured to: storethe potentially-altered matches in a data construct representing a poolof failed strict-matches.
 14. A computing system configured to implementan identification server, the identification server comprising: aprocessor; memory operably associated with the processor; a program ofinstructions configured to be stored in the memory and executed by theprocessor, the program of instructions including: for each of aplurality of fingerprints associated with different media stationbroadcasts: at least one instruction to perform a loose-match comparisonbetween a fingerprint of a base version of a media item and afingerprint of a broadcast version of a media item to identify loosematches, by executing a program instruction in a processor of acomputing device; for each loose match identified by the loose-matchcomparison, at least one instruction to perform a strict-matchcomparison between the loose match and the base version of the mediaitem, by executing a program instruction in a processor of a computingdevice; at least one instruction to flag loose matches that fail thestrict-match comparison as potentially-altered versions, by executing aprogram instruction in a processor of a computing device; at least oneinstruction to compare the potentially-altered versions to each other toidentify altered versions of the base version of the media item, whereinpotentially-altered versions that match each other are designated as analtered version, by executing a program instruction in a processor of acomputing device; at least one instruction to generate a new fingerprintof the altered version, by executing a program instruction in aprocessor of a computing device; and at least one instruction toidentify matches to the altered version, at least in part, by performingat least one additional iteration of the loose-match comparison and thestrict-match comparison using the new fingerprint of the altered versionin place of the fingerprint of the base version, by executing a programinstruction in a processor of a computing device.
 15. The computingsystem of claim 14, wherein the program of instructions furtherincludes: at least one instruction to obtain the fingerprint of thebroadcast version of the media item from a substantially-continuousfingerprint representing content broadcast by a media station, byexecuting a program instruction in a processor of a computing device.16. The computing system of claim 15, wherein the at least oneinstruction to obtain the substantially-continuous fingerprint includes:at least one instruction to capture content from a plurality oftransmission sources during transmission of the content, by executing aprogram instruction in a processor of a computing device; and at leastone instruction to generate a plurality of substantially continuousfingerprints, by executing a program instruction in a processor of acomputing device.
 17. The computing system of claim 14, wherein theprogram of instructions further includes: at least one instruction toidentify additional altered versions of the base version of a media itemby performing comparisons using both the fingerprint of the base versionof a media item and the new fingerprint of the altered version.
 18. Thecomputing system of claim 14, wherein the program of instructionsfurther includes: at least one instruction to perform the loose-matchcomparison based on fingerprints of broadcast items obtained from aplurality of different broadcast media stations, by executing a programinstruction in a processor of a computing device; and at least oneinstruction to perform the strict-match comparison across loose matchesassociated with multiple different broadcast media stations, byexecuting a program instruction in a processor of a computing device.19. The computing system of claim 14, wherein the strict-matchcomparison takes into account a margin of error for broadcast artifacts.20. The computing system of claim 14, wherein the program ofinstructions further includes: at least one instruction to store thepotentially-altered matches in a data construct representing a pool offailed strict-matches.